本文同步刊載於 Clarence 部落格:[LINE bot 好好玩 30 天玩轉 LINE API] 第 7 天:我是會主動說話的機器人!
前幾天說了這麼多還沒有介紹如何讓機器人主動說話,今天就來介紹如何讓機器人主動說話吧 ~
現在申請的 Bot 都是用新的計費方法,新版的計費方法與舊版的計費方法差最多的地方就是免費信息則數的部分,舊版的只要每個月付 798 元變成入門型就可以群發訊息無上限,而新版的就算用到最高月費的 4000 元,一個月也只有 25000 則的免費訊息,不過舊版的 798 元方案好友人數最多只有 20000 人,新版的就算是 0 元方案也沒有好友上限,以上說明應該是比較多人在意的部分,如果要比較個人覺得新版的 CMS 系統其實滿好用的 XD
詳細的新版介紹如下圖片出處:
詳細的舊版介紹網站 https://at.line.me/tw/plan
為什麼會有新版介紹與舊版介紹共存的情況呢?這是因為舊版的如果之前有付錢就還會是舊版的,全面升級時間是 2020/3/1,所以目前是共存狀態。
如果要主動發訊息,其中需要一個很重要的東西,就是 User ID!
而要如何取得使用者 ID 呢?
其實只要在 handle event 加上以下 Log 就可以了,而 event 的部分後面章節會詳細介紹,今天就先直接加入這行吧 ~
console.log(`使用者 ID: ${event.source.userId}`);
加入之後我們直接對 Bot 說話就可以看到 ID 了!
如下我的 ID 如下:
使用者 ID: U8955b5b423b1d6be9a9a6e902b0fcccc
詳細的程式碼 Github
要主動發送訊息的方法有很多種,可以自己寫 Code 推送、使用 cURL 或是任何可以發送 HTTP Request 的方法,而這邊介紹使用 Postman 來發送。
大家可以選擇登入或是點選下面的 Skip signing in and take me straight to the app
,跳過註冊
首先先輸入 API URL
https://api.line.me/v2/bot/message/push
點選 Authorization 選擇 Bearer Token,並且填入 Channel access token
點選 Body 點選 raw,並且選擇 JSON
{
"to": "U8955b5b423b1d6be9a9a6e902b0fcccc",
"messages":[
{
"type":"text",
"text":"it 邦幫忙鐵人賽"
}
]
}
按下 Send
出現拉 ~ 今天的目標要讓我們的 Bot 主動傳訊息給我們成功了 ?!!
現在比較少開發者使用 Push API 來發送訊息了,因為這個部分可免費發送的數量不多,所以基本上都用 reply API 來做,除非一些比較特別的情境,像是這則訊息是不可以 lose 的,就可能需要使用 Push API,因為 Reply token 其實是會過期的 XD ~
詳細情況在後面章節可能會談到,這邊就先點到為止囉 ~
https://developers.line.biz/en/reference/messaging-api/#send-push-message
CSScoke - 金魚都能懂的這個網頁畫面怎麼切 - 金魚都能懂了你還怕學不會嗎
King Tzeng - IoT沒那麼難!新手用JavaScript入門做自己的玩具~
Hina Hina - 陣列大亂鬥
阿斬 - Python 程式交易 30 天新手入門
塔塔默 - 用Python開發的網頁不能放到Github上?Lektor說可以!!
Vita Ora - 好 Js 不學嗎 !? JavaScript 入門中的入門。
版大您好 我是初學者 正在摸索
請問如果要一次發給多位用戶
"to": "U....",
這地方要怎麼新增多組的 USERID ?
我試了很多遍都失敗@@
這個沒有辦法一次發給多位使用者!一次只能發一位呦!
了解感謝
想說可以取代 群發訊息的功能 XD
這部分沒有辦法呦!如果要需要自己實作